package com.open.system.dispatch;

import com.open.system.model.Notice;
import com.open.common.model.Page;
import com.open.system.model.UserNotice;
import com.open.system.model.dto.SendDto;
import com.open.system.model.vo.NoticeVo;

import java.util.List;

/**
 * 
 *
 * @author 大树03
 * @date 2025-07-18 17:38
 */
public interface INoticeDispatch{
	/**
	 * 添加对象
	 * @param model
	 * @return boolean
	 * @date 2025-07-18 17:38
	 */
	Boolean save(Notice model) ;

	/**
	 * 修改对象
	 * @param model
	 * @return boolean
	 * @date 2025-07-18 17:38
	 */
	Boolean update(Notice model) ;

	/**
	 * 根据条件查询
	 *
	 * @return
	 */
	List<Notice> findByModel(Notice model) ;

	/**
	 * 根据主键查询 
	 * @param pk 主键
	 * @return Notice
	 * @date 2025-07-18 17:38
	 */
	Notice findByPk(Long pk) ;

	/**
	 * 分页查询
	 *
	 * @param page
	 * @param model
	 * @return
	 */
	Page<Notice> findPage(Page<Notice> page, Notice model) ;

	/**
	 * 根据主键删除
	 * @param pks 主键
	 * @return boolean
	 * @date 2025-07-18 17:38
	 */
	Boolean remove(List<Long> pks) ;

    Boolean send(SendDto sendDto);

	Integer unread();

	Page<NoticeVo> scrollPage(Page<UserNotice> page, UserNotice model);
}